1. Field of the Invention
The present invention relates to database management systems for synchronous replication, and more particularly, to parallelizing replication of transactions in units of transactions during synchronous replication into an active node and a standby node in a database management system.
2. Description of the Related Art
In general, a database management system (DBMS) performs logging for data change to guarantee stability of a database. Logging is a fundamental function of the DBMS which records insertion/deletion/modification of data in a stable storage such as a disk on a real-time basis to restore the DBMS to a final database state in the case of a failure by using the recorded data. The DBMS is software which is a basis for providing various IT application services, and thus, should have high availability to provide a continuous data service even in various failure situations. Therefore, the DBMS provides a database replication function for replication into an active node and a standby node as an approach to reinforce stability, which is a basic function, and to provide a high-availability service.
Database replication refers to disposing a standby node (standby server) in addition to an active node (main server) and guaranteeing availability by performing a transaction service in the standby node if a failure occurs in the active node. Generally, the database replication refers to transmitting a log of a transaction generated in the active node to the standby node so that the standby node replays the transaction of the active node to change data in the same manner.
There are two kinds of database replication methods: asynchronous replication in units of transactions and synchronous replication in units of transactions. Synchronous replication refers to a database replication method in which when a master transaction generated in an active node is being committed, commitment of a transaction replicated in a standby node is waited, and only after commitment of the replicated transaction in the standby node is confirmed, the master transaction is committed in the active node. Such a database replication method can protect data and guarantee consistency, but the master transaction can be committed only after commitment of the replicated transaction in the standby node, resulting in degradation in performance.
However, a system requiring high performance mainly uses asynchronous replication, whereas a system in which data protection and consistency are important uses synchronous replication.